package com.swanclouds.api.systems;

import com.swanclouds.api.chassis.DrivesService;
import com.swanclouds.common.RestService;
import com.swanclouds.model.common.redfish.CollectionResource;
import com.swanclouds.model.systems.Storage;
import com.swanclouds.redfish.systems.domain.StorageModel;

import java.util.List;

/**
 * 查询存储集合资源信息服务
 *
 * @author 张立强
 */
public interface StorageService extends RestService {

    /**
     * 查询存储集合资源信息
     * @return CollectionResource
     */
    CollectionResource get();

    /**
     * 查询指定存储控制器信息
     * @param storageId 存储控制器ID
     * @return Storage
     */
    StorageModel getStorage(String storageId);
    /**
     * 查询存储控制器资源信息列表
     * @return java.util.List
     */
    List<StorageModel> list();

    boolean suppertDrives();

    /**
     * 硬盘集合资源服务
     * @return com.swanclouds.api.chassis.DrivesService
     */
    DrivesService Drives();

    boolean supertVolumes();

    /**
     * 逻辑盘集合资源
     * @return VolumeService
     */
    VolumeService Volumes();


}
